Information processing apparatus, information processing method, and program

ABSTRACT

[Object] 
     To provide an information processing apparatus capable of using an application seamlessly executable across channels of different broadcast stations. 
     [Solving Means] 
     Identification information “common” that is common to all business operators can be set as an organization ID for specifying a business operator providing an application. In addition, when the common identification information “common” is set as an organization ID of an acquired XML-AIT, an application controller ( 508 ) does not judge that an activation of an application corresponding to the  XML-AIT is unpermitted based on the organization ID. Accordingly, it becomes possible to use an application seamlessly executable across channels of different broadcast stations, such as an application for a rating survey.

TECHNICAL FIELD

The present disclosure relates to an information processing apparatus,an information processing method, and a program with which anapplication related to a broadcast content can be executed using anapplication management table.

BACKGROUND ART

In recent years, a technique that enables an application delivered via anetwork such as the Internet to be executed simultaneous with areproduction of a broadcast content has been known. As such a technique,a technique called hybrid broadcast broadband TV (hereinafter, referredto as “HbbTV”) is known. As a standard of HbbTV, “ETSI TS 102 796” (seeNon-patent Literature 1) has been developed in Europe. Further, thestandard “ARIB STD-B23” (see Non-patent Literature 2) conforming theretohas been developed also in our country.

CITATION LIST Non Patent Literature [Non Patent Literature 1] ETSI(European Telecommunications Standards Institute) “ETSI TS 102 796V1.1.1 (2010-06)”

http://www.etsi.org/deliver/etsi_ts/102700_(—)102799/102796/01.01.01_(—)60/ts_(—)102796v010101p.pdf (browsed on Oct. 21, 2011)

[Non Patent Literature 2]

Association of Radio Industries and Businesses “Application executionenvironment standard ARIB STD-B23 1.2 in digital broadcast”http://www.arib.or.jp/english/html/overview/doc/2-STD-B23v1_(—)2.pdf(browsed on Oct. 21, 2011)

SUMMARY Technical Problem

For example, in a system in which an application is executedsimultaneous with a reproduction of a broadcast content as in HbbTV, alife cycle of an application from an activation to an end is managed bya data structure called AIT (Application Information Table) superimposedon a broadcast content. An information terminal that has acquired theAIT controls the application based on an application control codeincluded in the AIT.

In addition to the application control code, the AIT also includes anorganization ID (organization_id) that indicates an organization(business operator) providing an application and an application ID(application_id) for identifying an application. In the AIT of anapplication executed in link with a broadcast content provided from acertain broadcast station, an organization ID of that broadcast stationis set. Further, as an application provided from the same broadcaststation, there is also a broadcast-independent application that isprovided from a server via the Internet. Such a broadcast-independentapplication can be activated by, for example, executing a scriptincluded in a broadcast-related application. At this time, only when theorganization ID of the broadcast-related application already beingexecuted matches with that of the broadcast-independent application, thebroadcast-independent application can be activated. This is for avoidingpresentment of a broadcast-independent application provided from abroadcast station different from that providing the broadcast contentbeing reproduced.

However, such a limitation has the following demerit. For example, anapplication that can be commonly used by a plurality of broadcaststations for the purpose of a rating survey or the like will bediscussed. It is desirable for such an application to be executableseamlessly across channels of different broadcast stations. However,such an application cannot be used under a standard that inhibitstransitions among applications having different organization IDs.

In view of the circumstances as described above, an object of thepresent disclosure is to provide an information processing apparatus, aninformation processing method, and a program that are capable of usingan application seamlessly executable across channels of differentbroadcast stations.

Solution to Problem

To solve the problem described above, according to the presentdisclosure, there is provided an information processing apparatusincluding: a broadcast content processing unit that receives andprocesses a broadcast content; and a controller that acquires anapplication related to the broadcast content and an applicationinformation table capable of setting identification information commonto a plurality of business operators as a value of business operatoridentification information for specifying a business operator thatprovides the application, and removes, when the common identificationinformation is set as the value of the business operator identificationinformation in the application information table, the application from atarget judged as unpermitted to be activated based on the businessoperator identification information.

The information processing apparatus may further include a validationunit that acquires and validates an electronic signature obligated to beattached to the application information table and notifies thecontroller of the validation result, and in that the controller maypermit, when notified by the validation unit that the validation hassucceeded, an activation of the application removed from the targetjudged as unpermitted to be activated based on the business operatoridentification information.

In the information processing apparatus, the application is abroadcast-independent application that is independent from the broadcastcontent.

In the information processing apparatus, the controller may acquire,from a server apparatus via a network, the application information tablerelated to the application, and acquire the application based oninformation described in the application information table.

According to the present disclosure, there is provided an informationprocessing method including: receiving and processing a broadcastcontent; acquiring, by a controller, an application related to thebroadcast content and an application information table capable ofsetting identification information common to a plurality of businessoperators as a value of business operator identification information forspecifying a business operator that provides the application; andremoving, by the controller, when the common identification informationis set as the value of the business operator identification informationin the application information table, the application from a targetjudged as unpermitted to be activated based on the business operatoridentification information.

According to the present disclosure, there is provided a program thatcauses a computer to function as a controller that acquires anapplication information table capable of setting identificationinformation common to a plurality of business operators as a value ofbusiness operator identification information for specifying a businessoperator that provides an application related to a broadcast content,and removes, when the common identification information is set as thevalue of the business operator identification information in theapplication information table, the application from a target judged asunpermitted to be activated based on the business operatoridentification information.

Effect of Invention

As described above, according to the present disclosure, an applicationseamlessly executable across channels of different broadcast stationscan be used.

BRIEF DESCRIPTION OF DRAWINGS

[FIG. 1]

A diagram showing a general outline of an information processing systemof this embodiment.

[FIG. 2]

A diagram showing an AIT data structure.

[FIG. 3]

A diagram showing an XML-AIT data structure.

[FIG. 4]

A diagram showing definitions of application control codes.

[FIG. 5]

A diagram showing a data structure of an application identifier.

[FIG. 6]

A diagram showing a typical operation example 1 regarding a transitionbetween broadcast-related applications in the information processingsystem shown in FIG. 1.

[FIG. 7]

A diagram showing a typical operation example 2 regarding a transitionbetween broadcast-related applications in the information processingsystem shown in FIG. 1.

[FIG. 8]

A diagram showing a typical operation example 3 regarding an executionof a broadcast-independent application in an information processingapparatus of the information processing system shown in FIG. 1.

[FIG. 9]

A diagram showing a typical operation example 4 regarding a transitionfrom a broadcast-related application to a broadcast-independentapplication in the information processing system shown in FIG. 1.

[FIG. 10]

A diagram showing an operation example where a transition betweenbroadcast-independent applications fails in the information processingsystem conforming to the standard.

[FIG. 11]

A block diagram showing a functional structure of the informationprocessing apparatus shown in FIG. 1.

[FIG. 12]

A diagram showing a data structure of an XML signature.

[FIG. 13]

A diagram showing a transition operation of a broadcast-independentapplication in the information processing system shown in FIG. 1.

[FIG. 14]

A flowchart showing a processing procedure of the information processingapparatus shown in FIG. 1.

DESCRIPTION OF EMBODIMENTS

Hereinafter, an embodiment of the present disclosure will be describedwith reference to the drawings.

[Information Processing System]

FIG. 1 is a diagram showing a general outline of an informationprocessing system of this embodiment.

The information processing system 1 of this embodiment includes a firstnetwork 100 such as the Internet, a plurality of application servers200A and 200B, an edge router 300, a second network 400 such as a LAN(Local Area Network), an information processing apparatus 500, and abroadcast station 600.

The broadcast station 600 transmits digital broadcast signals via acommunication medium such as terrestrial, satellite, and IP (InternetProtocol) networks. The broadcast station 600 is capable of multiplexingand transmitting a stream packet of a broadcast content, a packet of anapplication to be executed simultaneous with a reproduction of thebroadcast content, and a PSI/SI (Program Specific Information/ServiceInformation) packet including various types of information related tothe broadcast content currently being broadcasted and the application.

The PSI/SI includes an application information table (hereinafter,referred to as “AIT”) and the like as a data structure constituted ofinformation for managing the application.

The plurality of application servers 200A and 200B are connectable tothe first network 100 and capable of delivering, to the informationprocessing apparatus 500 via the first network 100, an XML (ExtensibleMarkup Language)-AIT describing a data structure constituted of a fileof an application to be executed in relation to a reproduction of abroadcast content and information for managing the application.

It should be noted that a business operator of the application server200A as one of the plurality of application servers 200A and 200B shownin FIG. 1 is the same as that of the broadcast station 600. A businessoperator of the application server 200B differs from that of thebroadcast station 600. Hereinafter, the application servers 200A and200B may be referred to as “application server 200” withoutdistinguishing one from the other.

The edge router 300 is a router for connecting the first network 100 andthe second network 400. The second network 400 may either be in a wiredor wireless manner.

The information processing apparatus 500 is, for example, a personalcomputer, a cellular phone, a smartphone, a television apparatus, or agame device, though a product form thereof is not specifically limited.

The information processing apparatus 500 is capable of receiving anddemodulating a digital broadcast signal from the broadcast station 600to acquire a transport stream. The information processing apparatus 500is capable of separating a broadcast content from the transport stream,decoding it, and outputting it to a display unit (not shown) or speakerunit (not shown) connected to the information processing apparatus 500or a recording apparatus.

It should be noted that the display unit, the speaker unit, and therecording apparatus may be integrated with the information processingapparatus 500, or they may be directly connected to the informationprocessing apparatus 500 or indirectly connected via the second network400 as independent apparatuses. Alternatively, an apparatus (not shown)including the display unit and the speaker unit may be directlyconnected to the information processing apparatus 500 or indirectlyconnected via the second network 400.

The information processing apparatus 500 is also capable of extractingan application or PSI/SI including an AIT from the acquired transportstream and interpreting the AIT to thus control the application. Whenthe application is a visible application, the information processingapparatus 500 can synthesize a video signal generated by executing theapplication with a video signal and subtitle signal of the broadcastcontent and output them to the display unit.

The information processing apparatus 500 is also capable of acquiring,from the application server 200 via the first network 100, the edgerouter 300, and the second network 400, the application and the XML-AITfile by download. The information processing apparatus 500 is capable ofinterpreting the acquired XML-AIT and controlling the applicationacquired from the application server 200.

[Application Type]

Here, application types will be described. As the application, there area broadcast-related application and a broadcast-independent application.

The broadcast-related application is an application that is executedsimultaneous with a reproduction of a broadcast content. In other words,the broadcast-related application is a bidirectional application that iscontrolled based on the AIT such that a lifecycle thereof from anactivation to an end is in link with a broadcast content.

The broadcast-independent application is a bidirectional applicationthat is executed in relation to a reproduction of a content and whoselife cycle is controlled independently from a broadcast content by anAIT delivered by broadcast or an XML-AIT delivered by communication.

Both of the applications can be activated or ended based on aninstruction of a user of the information processing apparatus 500viewing a broadcast content. Moreover, for securing a relativity with abroadcast content, the broadcast-related application becomes executablewhile a related broadcast content is being received and is forciblyended when a switch to a reception state of another broadcast content ismade by a channel switch operation or the like.

[Application Activation]

There are the following application activation methods, for example.

1. A method of automatically activating an application based on anapplication control code “AUTOSTART” of an AIT and XML-AIT.

2. A method in which the information processing apparatus 500 createsand displays, with a predetermined remote controller operation as atrigger, an icon or list of currently-usable applications based on anAIT and prompts the user to select an application to be activatedtherefrom.

3. A method of activating a different application using a scriptincorporated into an application.

[Data Structures of AIT and XML-AIT]

Here, a data structure of an AIT provided from the broadcast station 600and a data structure of an XML-AIT provided from the application server200 will be described. It should be noted that when simply referred toas “AIT” in the specification, the term refers to the AIT provided fromthe broadcast station 600.

FIG. 2 is a diagram showing the AIT data structure.

The AIT 10 is a table that stores various types of information relatedto broadcast-related applications and broadcast-independentapplications, application control codes for controlling thebroadcast-related applications, and the like. Specifically, the AIT 10stores a table ID, a section syntax instruction, a section length, anapplication format, a version number, a current next instruction, asection number, a final section number, a common descriptor loop length,an application information loop length, an application identifier 11, anapplication control code 12, an application information descriptor looplength, a descriptor 13, and the like.

FIG. 3 is a diagram showing the XML-AIT data structure.

The XML-AIT 20 is a table that stores various types of informationrelated to broadcast-independent applications, application control codesfor controlling the broadcast-independent applications, and the like.Specifically, the XML-AIT 20 stores an application name, an applicationidentifier 21, an application descriptor, an application type, anapplication control code 22, an application visibility, a flagindicating whether an application is effective in only the currentservice, an application priority 24, an application version, a versionaccording to platform profile, an icon, storage function performance, atransport protocol descriptor 25, an application location descriptor 23,an application boundary descriptor, an application specific descriptor,an application usage descriptor, and the like.

[Definitions of Application Control Codes]

A life cycle of an application is dynamically controlled by theinformation processing apparatus 500 based on the application controlcodes 12 and 22 respectively stored in the AIT 10 and the XML-AIT 20.

FIG. 4 is a diagram showing definitions of the application control codes12 and 22 respectively stored in the AIT 10 and the XML-AIT 20.

As shown in the figure, as the application control codes, there are“AUTOSTART”, “PRESENT”, “DESTROY”, “KILL”, “PREFETCH”, “REMOTE”,“DISABLED”, and “PLAYBACK AUTOSTART” as the standard.

“AUTOSTART” is a code that instructs to automatically activate anapplication along with a service selection, provided that theapplication is not yet executed. “PRESENT” is a code that instructs toset an application to an executable state while the service is beingselected. It should be noted that a target application is notautomatically activated along with the service selection and isactivated upon reception of an activation instruction from the user.

“DESTROY” is a code that instructs to permit an end of an application.

“KILL” is a code that instructs to forcibly end an application.

“PREFETCH” is a code that instructs to cache an application.

“REMOTE” is a code indicating that an application is an application thatcannot be acquired in a current transport stream. Such an applicationbecomes usable when acquired from another transport stream or a cache.

“DISABLED” is a code indicating that an application activation isprohibited.

“PLAYBACK_AUTOSTART” is a code for activating an application along witha reproduction of a broadcast content recoded onto a storage (recordingapparatus).

[Data structure of Application Identifier]

An application is uniquely identified by the application identifiers 11and 21 respectively stored in the AIT 10 and the XML-AIT 20.

FIG. 5 is a diagram showing a data structure of an applicationidentifier.

The application identifier is constituted of an organization ID(organization_id) and an application ID (application_id). In otherwords, an application is uniquely identified by a combination of theorganization ID and the application ID.

The organization ID is information for uniquely identifying anorganization

(business operator) providing an application. The application ID isinformation for uniquely identifying an application in the organizationID.

[Operation Example Common to Typical Information Processing System andInformation Processing System 1 of This Embodiment]

Next, an operation example common to a typical information processingsystem and the information processing system 1 of this embodiment willbe described.

(1. Typical Operation Example 1 Regarding Transition BetweenBroadcast-Related Applications)

FIG. 6 is a diagram showing a typical operation example 1 regarding atransition between broadcast-related applications in the informationprocessing apparatus 500 of the information processing system 1 shown inFIG. 1. The operation example 1 is a typical operation example of a casewhere a switch is made between two broadcast-related applicationsacquired from the broadcast station 600 through broadcast waves to thusbe executed.

The information processing apparatus 500 receives a broadcast content(broadcast A) from the broadcast station 600 selected by the user usinga remote controller, for example, carries out decoding processing onvideo data, audio data, subtitle data, and the like, and outputs thebroadcast content (broadcast A) to the display unit and speaker unitconnected to the information processing apparatus 500.

In this example, a broadcast-related application (hereinafter, referredto as “first broadcast-related application”) and an AIT related to thefirst broadcast-related application are superimposed on the broadcastcontent and broadcasted from the broadcast station 600 at a time T1.

The AIT stores the application control code “AUTOSTART” that instructsto activate the first broadcast-related application. Upon receiving thefirst broadcast-related application and the AIT, the informationprocessing apparatus 500 activates the first broadcast-relatedapplication based on the application control code “AUTOSTART” describedin the AIT. The activated first broadcast-related application isvisualized as a window superimposed on a video of the broadcast contentA displayed on the display unit, for example.

Subsequently, at a time T2, a new AIT including an application controlcode “DESTROY” or “KILL” that instructs to end the firstbroadcast-related application and an application control code“AUTOSTART” that instructs to activate another broadcast-relatedapplication (hereinafter, referred to as “second broadcast-relatedapplication”) is superimposed on the broadcast content and broadcastedfrom the broadcast station 600.

Upon receiving the new AIT, the information processing apparatus 500ends the first broadcast-related application based on the applicationcontrol code “DESTROY” or “KILL” described in the new AIT and activatesthe second broadcast-related application according to the applicationcontrol code “AUTOSTART” described in the AIT. Accordingly, the secondbroadcast-related application is visualized on the display unit of theinformation processing apparatus 500 in place of the firstbroadcast-related application.

(2. Typical Operation Example 2 Regarding Transition BetweenBroadcast-Related Applications)

FIG. 7 is a diagram showing a typical operation example 2 regarding atransition between broadcast-related applications in the informationprocessing apparatus 500 of the information processing system 1 shown inFIG. 1. The operation example 2 is a typical operation example of a casewhere a broadcast-related application acquired from the broadcaststation 600 through broadcast waves is switched to a broadcast-relatedapplication acquired from the application server 200A to be executed.

In the typical operation example 2, for acquiring the secondbroadcast-related application from the application server 200A,information on a communication protocol for acquiring the secondbroadcast-related application, location information such as a URI of afile of the second broadcast-related application, and the like aredescribed in the descriptor( ) 13 (FIG. 2) of the AIT.

In the typical operation example 2, at a time T2, a new AIT including anapplication control code “DESTROY” or “KILL” that instructs to end thefirst broadcast-related application and an application control code“AUTOSTART” that instructs to activate another broadcast-relatedapplication (hereinafter, referred to as “second broadcast-relatedapplication”) is superimposed on a broadcast content and broadcastedfrom the broadcast station 600.

Upon receiving the new AIT, the information processing apparatus 500accesses the application server 200A and acquires the secondbroadcast-related application based on information described in thedescriptor( )13 (FIG. 2) related to the second broadcast-relatedapplication in the AIT.

Subsequently, the information processing apparatus 500 ends the firstbroadcast-related application based on the application control code“DESTROY” or “KILL” with respect to the first broadcast-relatedapplication in the AIT. Further, the information processing apparatus500 activates the second broadcast-related application according to theapplication control code “AUTOSTART” with respect to the secondbroadcast-related application in the AIT. Accordingly, the secondbroadcast-related application is visualized on the display unit of theinformation processing apparatus 500 in place of the firstbroadcast-related application.

(3. Typical Operation Example Regarding Execution OfBroadcast-Independent Application)

FIG. 8 is a diagram showing a typical operation example 3 regarding anexecution of a broadcast-independent application in the informationprocessing apparatus 500 of the information processing system 1 shown inFIG. 1.

In the typical operation example 3, information requisite for accessingan XML-AIT corresponding to one or more broadcast-independentapplications that are currently usable in relation to a broadcastcontent A is superimposed on the broadcast content A and broadcasted.Based on the information, the information processing apparatus 500generates an icon or list of the one or more currently-usablebroadcast-independent applications, displays it on the display unit,acquires an XML-AIT of the broadcast-independent application selected bythe user, and activates the broadcast-independent application.

More specifically, when an application selection screen displayinstruction is input by the user through an operation using a remotecontroller or the like while the broadcast content A is being reproduced(display screen a), the information processing apparatus 500 generatesan application selection screen 10 including an icon or list of the oneor more currently-usable broadcast-independent applications and displaysit on the display unit. The application selection screen 10 isvisualized as a window superimposed on a video of the broadcast contentA displayed on the display unit. Information on a communication protocolrequisite for accessing an XML-AIT for a relevant broadcast-independentapplication, location information of the XML-AIT, and the like areassociated with the icon or list displayed on the application selectionscreen 10. Based on the information associated with the icon or listselected by the user from the icons or list displayed on the applicationselection screen 10, the information processing apparatus 500 acquiresan XML-AIT of the selected broadcast-independent application.

The information processing apparatus 500 extracts, for example,information on a communication protocol and location information of thebroadcast-independent application, that are requisite for acquiring thebroadcast-independent application from the XML-AIT, and acquires thebroadcast-independent application from the application server 200A basedon those information. The information processing apparatus 500 activatesthe broadcast-independent application based on the application controlcode “AUTOSTART” described in the XML-AIT. The activatedbroadcast-independent application is visualized as a window 10superimposed on a video of the broadcast content A displayed on thedisplay unit, for example.

(4. Typical Operation Example 4 Including Transition FromBroadcast-Related Application to Broadcast-Independent Application)

FIG. 9 is a diagram showing a typical operation example 4 regarding atransition from a broadcast-related application to abroadcast-independent application in the information processingapparatus 500 of the information processing system 1 shown in FIG. 1.

In the typical operation example 4, a case where a script including acreateApplication( ) function for activating a broadcast-independentapplication is incorporated into a broadcast-related application isassumed. As an argument in the createApplication( ) function,information on a communication protocol requisite for accessing anXML-AIT for a broadcast-independent application, location information ofthe XML-AIT, and the like are set. In the typical operation example 4, abroadcast-independent application provided from the application server200A belonging to the same organization as the broadcast station 600 isassumed. Therefore, the location information of the XML-AIT is a URL(Uniform Resource Locator) belonging to the application server 200A. Thecommunication protocol is HTTP (Hypertext Transfer Protocol).

By executing the script as a predetermined condition on a time or thelike is established while a broadcast-related application is beingexecuted, the information processing apparatus 500 acquires an XML-AITfor a broadcast-independent application from the application server200A. After that, the information processing apparatus 500 acquires andactivates the broadcast-independent application based on the XML-AIT asin the typical operation example 3 described above.

Incidentally, in the HbbTV standard, to enable an application to beactivated from another application already being executed for avoidingpresentment of a broadcast-independent application provided by abusiness operator not belonging to the same organization as a broadcaststation providing a broadcast content being reproduced, organization IDsof the applications need to be the same. Since the typical operationexamples 1 to 4 described heretofore assume that the application to beactivated is a broadcast-related application provided from the broadcaststation 600 through broadcast waves or a broadcast-related applicationprovided from the application server 200A belonging to the sameorganization as the broadcast station 600, the organization IDs of theapplications are all the same, thus satisfying the condition forpermitting an activation of the application.

However, such a limitation has the following demerit. For example,regarding an application assumed to be commonly used by a plurality ofbroadcast stations, such as an application for a rating survey, it isdesirable for such an application to be executable seamlessly acrosschannels of different broadcast stations. However, such an applicationis limited in the activation based on the organization ID according tothe HbbTV standard.

FIG. 10 is a conceptual diagram showing a case where an activation froma broadcast-independent application acquired from the application serverin the information processing system conforming to the standard (e.g.,application server 200A shown in FIG. 1) (hereinafter, referred to as“first broadcast-independent application”) to a broadcast-independentapplication acquired from another application server (e.g., applicationserver 200B shown in FIG. 1) (hereinafter, referred to as “secondbroadcast-independent application”) has failed due to a mismatch of theorganization IDs thereof. Here, the application server 200B is a serverbelonging to a different organization (business operator) from thebroadcast station (e.g., broadcast station 600 shown in FIG. 1).Therefore, the second broadcast-independent application provided fromthe application server 200B is not activated since its organization IDdescribed in the XML-AIT differs from that of the firstbroadcast-independent application provided from the broadcast station600 or the application server 200A.

[Activation Condition of Broadcast-Independent Application of ThisEmbodiment]

For solving such a problem, in this embodiment, “common” can be set asidentification information common to a plurality of or all businessoperators as a value of the organization ID in the XML-AIT. When“common” is set as the value of the organization ID in the acquiredXML-AIT, the information processing apparatus 500 removes thebroadcast-independent application as a control target of the XML-AITfrom the target judged as unpermitted to be activated based on theorganization ID.

Moreover, for suppressing a side effect in the security due to analleviation of the limit on the activation based on the judgment by theorganization ID, an XML signature is obligated to be attached to theXML-AIT in this embodiment. The information processing apparatus 500validates the XML signature acquired with the XML-AIT, and only when thevalidity is validated, permits the activation of the application basedon the XML-AIT.

[Structure of Information Processing Apparatus 500]

FIG. 11 is a block diagram showing the structure of the informationprocessing apparatus 500 of this embodiment.

The information processing apparatus 500 includes a broadcast interface501, a demultiplexer 502, an output processing unit 503, a video decoder504, an audio decoder 505, a subtitle decoder 506, a communicationinterface 507, an application controller 508, and a secure controller509.

The broadcast interface 501 includes an antenna and a tuner and usesthem to receive digital broadcast signals selected by the user. Thebroadcast interface 501 outputs a transport stream acquired by carryingout demodulation processing on the received digital broadcast signals tothe demultiplexer 502.

The demultiplexer 502 separates a stream packet of a broadcast content,an application packet, and an AIT packet from the transport stream. Thedemultiplexer 502 separates a video ES (Elementary Stream), an audio ES,and a subtitle ES from the stream packet of the broadcast content. Thedemultiplexer 502 distributes the video ES to the video decoder 504, theaudio ES to the audio decoder 505, the subtitle ES to the subtitledecoder 506, and the application packet and the AIT packet to theapplication controller 508.

The video decoder 504 decodes the video ES to generate a video signaland outputs the generated video signal to the output processing unit503. The audio decoder 505 decodes the audio ES to generate an audiosignal and outputs the generated audio signal to the output processingunit 503. The subtitle decoder 506 decodes the subtitle ES to generate asubtitle signal and outputs the generated subtitle signal to the outputprocessing unit 503.

The communication interface 507 is an interface for establishingcommunication with an external apparatus via the second network 400 suchas a LAN. The communication interface 507 may take either wirelesscommunication or wired communication.

The application controller 508 is a controller that carries outprocessing related to control of applications.

The output processing unit 503 synthesizes the video signal from thevideo decoder 504, the audio signal from the audio decoder 505, thesubtitle signal from the subtitle decoder 506, the video signal andaudio signal from the application controller 508, and the like andoutputs the resultant to the recording apparatus, display unit, andspeaker unit (not shown) connected to the information processingapparatus 500.

The secure controller 509 validates an XML signature and notifies theapplication controller 508 of the validation result.

A part or all of the structure including at least the applicationcontroller 508 and the secure controller 509 of the informationprocessing apparatus 500 can be provided by a computer including a CPU(Central Processing Unit) and a memory and a program.

Here, the XML signature will be described.

FIG. 12 is a diagram showing a data structure of the XML signature.

As shown in the figure, the XML signature includes an XML signatureelement, signature information (information indicating with respect towhat the signature is to be made and what algorithm), an XMLnormalization algorithm, a signature algorithm, a normalizationtransformation process, a digest calculation algorithm, a digest value,a signature value, key information, a validation key, an X.509certification, and an XML signature target element.

A format of the XML signature may be any of a detached signatureindependent from an XML-AIT, an enveloping signature in a formatincluding an XML-AIT, and an enveloped signature in a format included inan XML-AIT. It should be noted that it is favorable to adopt thedetached signature for suppressing an influence of the XML-AIT on theformat.

The secure controller 509 validates the XML signature according to aprocedure of a core validation including a reference validation and asignature validation.

The reference validation is a method of validating a reference(Reference) digest value (DigestValue) by applying a normalizationtransformation process (Transform) and a digest calculation algorithm(DigestMethod) to a resource (XML-AIT). The result obtained by thereference validation and the registered digest value (DigestValue) arecompared, and when the values do not match, the validation ends in afailure.

The signature validation is a method of validating a signature using amethod designated by the signature algorithm (SignatureMethod) byserializing the signature information (SignatureInfo) element by anormalization method designated by the XML normalization algorithm(CanonicalizationMethod) and acquiring key data using the keyinformation (KeyInfo) and the like.

[Operation of Information Processing System 1 of this Embodiment]

Next, an operation of the information processing system 1 of thisembodiment will be described.

FIG. 13 is a diagram showing a transition operation from abroadcast-independent application acquired from the application server200A to a broadcast-independent application acquired from theapplication server 200B in the information processing apparatus 500 ofthe information processing system 1 shown in FIG. 1.

The information processing apparatus 500 receives a broadcast content(broadcast A) from the broadcast station 600 selected by the user usinga remote controller, for example, carries out decode processing or thelike on video data, audio data, subtitle data, and the like, and outputsthe broadcast content (broadcast A) to the display unit and speaker unitconnected to the information processing apparatus 500.

Specifically, the broadcast interface 501 receives digital broadcastsignals of the broadcast content (broadcast A) from the broadcaststation 600 selected by the user and outputs a transport stream obtainedby carrying out demodulation processing and the like to thedemultiplexer 502. The demultiplexer 502 separates a stream packet ofthe broadcast content from the transport stream and separates the streampacket of the broadcast content into a video ES, an audio ES, and asubtitle ES. The separated video ES, audio ES, and subtitle ES aredecoded by the video decoder 504, the audio decoder 505, and thesubtitle decoder 506, respectively, synthesized by the output processingunit 503, and output to the display unit and speaker unit.

In the operation example, at a time T1, a broadcast-related applicationand an AIT related to the broadcast-related application are superimposedon a broadcast content and broadcasted from the broadcast station 600.The organization ID described in the AIT is set as “0x01” allocated tothe business operator of the broadcast station 600. The applicationcontrol code is “AUTOSTART”.

The demultiplexer 502 separates a packet of a first application and apacket of the AIT from the transport stream and supplies them to theapplication controller 508. Upon acquiring the broadcast-relatedapplication and the AIT, the application controller 508 executes theprocessing procedure shown in the flowchart of FIG. 14.

Specifically, upon acquiring the AIT (Step S102), the applicationcontroller 508 judges whether there is another application beingexecuted (Step S103). Since there is no other application being executedat this point (NO in Step S103), the application controller 508 advancesthe processing to Step S105. In Step S105, processing of switching anexecution to an application with a high priority is carried out, butsince there is no other application being executed at this time, theapplication controller 508 activates the broadcast-related applicationbased on the application control code “AUTOSTART” described in theacquired AIT.

In the operation example, a case where a script including acreateApplication( ) function for activating a broadcast-independentapplication provided from the application server 200A is incorporatedinto the broadcast-related application is assumed. By executing thescript as a predetermined condition on a time or the like is establishedwhile a broadcast-independent application is being executed, theapplication controller 508 acquires an XML-AIT for abroadcast-independent application from the application server 200A.

Upon acquiring the XML-AIT (Step S102), the application controller 508judges whether there is another application being executed (Step S103).Since there is another broadcast-related application as the anotherapplication being executed at this point, the application controller 508advances the processing to Step S104.

In Step S104, the application controller 508 judges whether theorganization ID of the XML-AIT is the same as that of the AIT of thebroadcast-related application already being executed (excluding case of“common”).

When the organization IDs are the same (YES in Step S104), theapplication controller 508 advances the processing to Step S105 andactivates one of the broadcast-related application being executed andthe broadcast-independent application designated by the XML-AIT that hasa higher priority (Step S105).

In the operation example shown in FIG. 13, the organization ID of theXML-AIT is “0x01”, which is the same as the AIT. Therefore, theapplication controller 508 judges YES in Step S104 and advances theprocessing to Step S105. In the operation example, thebroadcast-independent application has a higher priority.

Accordingly, the broadcast-independent application is activated in placeof the broadcast-related application.

Here, for activating the broadcast-independent application in place ofthe broadcast-related application, the application controller 508 firstextracts information requisite for acquiring the broadcast-independentapplication from the XML-AIT, accesses the second application server200A based on the information, and acquires the broadcast-independentapplication. Then, the application controller 508 ends thebroadcast-related application and activates the broadcast-independentapplication based on the application control code “AUTOSTART” describedin the XML-AIT. It should be noted that at this time, thebroadcast-independent application is activated without validating theXML signature attached to the broadcast-independent application.

Next, a case where the user of the information processing apparatus 500instructs to use a broadcast-independent application provided by theapplication server 200B not belonging to the organization of thebroadcast station 600 at an arbitrary time T3 will be discussed.Hereinafter, a broadcast-independent application provided by theapplication server 200B will be referred to as “secondbroadcast-independent application”, whereas a broadcast-independentapplication already being executed will be referred to as “firstbroadcast-independent application”.

It should be noted that as a method of prompting the user to select thesecond broadcast-independent application belonging to a differentorganization from the first broadcast-independent application currentlybeing executed, there is, for example, a method of causing, with apredetermined remote controller operation as a trigger, the informationprocessing apparatus 500 to display a portal screen presenting theusable second broadcast-independent applications as icons or a list, andprompting the user to select the second broadcast-independentapplication to be activated from the portal screen. Information on acommunication protocol requisite for acquiring an XML-AIT of the secondbroadcast-independent application, location information of a file, andthe like are associated with the icons or list. As the icon or listcorresponding to a desired second broadcast-independent application isselected by the user, the application controller 508 acquires, based onthe information associated with the selected icon or list, an XML-AIT ofthe second broadcast-independent application from the application server200B not belonging to the organization of the broadcast station 600together with an attached XML signature.

Upon acquiring the XML-AIT (Step S102), the application controller 508judges whether there is another application being executed (Step S103).Since the first broadcast-independent application is being executed atthis point, the processing advances to Step S104.

In Step S104, the application controller 508 judges whether theorganization ID of the XML-AIT for the second broadcast-independentapplication is the same as that of the XML-AIT for the firstbroadcast-independent application being executed (excluding case of“common”).

When the organization IDs are the same as a result of the judgment(excluding case of “common”) (YES in Step S104), the applicationcontroller 508 advances the processing to Step S105 and activates one ofthe first broadcast-independent application being executed and thesecond broadcast-independent application designated by the XML-AIT thathas a higher priority (Step S105). Further, when the organization IDsare not the same (excluding case of “common”) as a result of thejudgment, the application controller 508 judges whether the organizationID of the newly-acquired XML-AIT for the second broadcast-independentapplication is “common” (Step S106). Here, although the applicationserver 200B is a server of a business operator not belonging to theorganization of the broadcast station 600, the organization ID is set as“common”. Therefore, it is judged YES in Step S106, and the applicationcontroller 508 advances the processing to Step S107.

In Step S107, the application controller 508 requests the securecontroller 509 to validate the XML signature attached to the XML-AIT forthe second broadcast-independent application. Upon receiving anotification notifying that the validation of the XML signature hassucceeded from the secure controller 509 (YES in Step S107), theapplication controller 508 compares the priority set in the XML-AIT forthe second broadcast-independent application and the priority set in theXML-AIT for the first broadcast-independent application being executed,and activates the broadcast-independent application having a higherpriority, for example. It should be noted that in the operation example,the priority of the second broadcast-independent application is higher.Accordingly, the second broadcast-independent application is activatedin place of the first broadcast-independent application that has beenexecuted.

For activating the second broadcast-independent application in place ofthe first broadcast-independent application, the application controller508 first extracts information requisite for acquiring the secondbroadcast-independent application from the XML-AIT for the secondbroadcast-independent application, accesses the second applicationserver 200B based on the information, and acquires the secondbroadcast-independent application. Then, the application controller 508ends the first broadcast-independent application and activates thesecond broadcast-independent application based on the applicationcontrol code “AUTOSTART” described in the XML-AIT for the secondbroadcast-independent application.

When the priorities of the applications are the same as a result ofcomparing the priorities, an application to be activated by a method setby the user in advance is determined, for example. For example, thereare the following methods.

1. Continue an application currently being executed as it is andprohibit an activation of a new application.

2. Switch to a newly-acquired application.

3. Simultaneously set a plurality of applications having the samepriority to an execution state. Continue an application currently beingexecuted as it is and permit an activation of a new application.

Upon being notified of a failure in the validation of the XML signature,the application controller 508 does not permit the activation of thesecond broadcast-independent application (Step S108). Accordingly, it ispossible to activate only a broadcast-independent application controlledby an XML-AIT to which an official XML signature is attached and securesystem reliability.

As described above, according to this embodiment, the identificationinformation “common” that is common to a plurality of or all businessoperators can be set as the organization ID for specifying a businessoperator providing an application. In addition, when the commonidentification information “common” is set as the organization ID in theacquired XML-AIT, the application controller 508 does not judge that anactivation of an application corresponding to the XML-AIT is unpermittedbased on the organization ID. Accordingly, it becomes possible to use anapplication seamlessly executable across channels of different broadcaststations, such as an application for a rating survey.

Moreover, in this embodiment, an XML signature is obligated to beattached to an XML-AIT in which identification information common to aplurality of business operators is set as the organization ID. Uponvalidating the XML signature and confirming its validity, theinformation processing apparatus 500 interprets the XML-AIT and permitsan activation of a broadcast-independent application. Accordingly,reliability of the XML-AIT can be secured.

It should be noted that the present disclosure is not limited to theembodiment above, and various modifications can of course be madewithout departing from the gist of the present disclosure.

Although the embodiment presupposing the HbbTV standard has beendescribed, the present disclosure is not necessarily limited to such apresupposition.

It should be noted that the present disclosure may also take thefollowing structures.

(1)

An information processing apparatus, including:

-   -   a broadcast content processing unit that receives and processes        a broadcast content; and    -   a controller that acquires an application related to the        broadcast content and an application information table capable        of setting identification information common to a plurality of        business operators as a value of business operator        identification information for specifying a business operator        that provides the application, and removes, when the common        identification information is set as the value of the business        operator identification information in the application        information table, the application from a target judged as        unpermitted to be activated based on the business operator        identification information.

(2)

The information processing apparatus according to (1) above, furtherincluding

-   -   a validation unit that acquires and validates an electronic        signature obligated to be attached to the application        information table and notifies the controller of the validation        result,    -   in which the controller permits, when notified by the validation        unit that the validation has succeeded, an activation of the        application removed from the target judged as unpermitted to be        activated based on the business operator identification        information.

(3)

The information processing apparatus according to (1) or (2) above,

-   -   in which the controller acquires, from a server apparatus via a        network, the application information table related to the        application, and acquires the application based on information        described in the application information table.

(4)

The information processing apparatus according to any one of (1) to (3)above,

-   -   in which the application is a broadcast-independent application        that is independent from the broadcast content.

REFERENCE SIGNS LIST

-   100 first network-   200, 200A, 200B application server-   300 edge router-   400 second network-   500 information processing apparatus-   501 broadcast interface-   502 demultiplexer-   503 output processing unit-   504 video decoder-   505 audio decoder-   506 subtitle decoder-   507 communication interface-   508 application controller-   509 secure controller-   600 broadcast station

1. An information processing apparatus, comprising: a broadcast contentprocessing unit that receives and processes a broadcast content; and acontroller that acquires an application related to the broadcast contentand an application information table capable of setting identificationinformation common to a plurality of business operators as a value ofbusiness operator identification information for specifying a businessoperator that provides the application, and removes, when the commonidentification information is set as the value of the business operatoridentification information in the application information table, theapplication from a target judged as unpermitted to be activated based onthe business operator identification information.
 2. The informationprocessing apparatus according to claim 1, further comprising avalidation unit that acquires and validates an electronic signatureobligated to be attached to the application information table andnotifies the controller of the validation result, wherein the controllerpermits, when notified by the validation unit that the validation hassucceeded, an activation of the application removed from the targetjudged as unpermitted to be activated based on the business operatoridentification information.
 3. The information processing apparatusaccording to claim 2, wherein the controller acquires, from a serverapparatus via a network, the application information table related tothe application, and acquires the application based on informationdescribed in the application information table.
 4. The informationprocessing apparatus according to claim 3, wherein the application is abroadcast-independent application that is independent from the broadcastcontent.
 5. An information processing method, comprising: receiving andprocessing a broadcast content; acquiring, by a controller, anapplication related to the broadcast content and an applicationinformation table capable of setting identification information commonto a plurality of business operators as a value of business operatoridentification information for specifying a business operator thatprovides the application; and removing, by the controller, when thecommon identification information is set as the value of the businessoperator identification information in the application informationtable, the application from a target judged as unpermitted to beactivated based on the business operator identification information. 6.A program that causes a computer to function as a controller thatacquires an application information table capable of settingidentification information common to a plurality of business operatorsas a value of business operator identification information forspecifying a business operator that provides an application related to abroadcast content, and removes, when the common identificationinformation is set as the value of the business operator identificationinformation in the application information table, the application from atarget judged as unpermitted to be activated based on the businessoperator identification information.